package com.jumi.microservice.material.service;

import java.util.ArrayList;
import java.util.List;

import com.github.pagehelper.PageInfo;
import com.jumi.microservice.material.domain.JmMaterialAttributeResp;
import com.jumi.microservice.material.domain.JmMaterialAttributeVo;

/**
 * @description: 商品属性组件Service接口
 * @author: ZhangY
 */
public interface JmMaterialAttributeService
{
	/**
	 * @Description: 根据id查询
	 * @Param: [attrId]
	 * @Return: com.jumi.microservice.material.domain.Attr
	 */
	JmMaterialAttributeResp findById(Integer attrId);

	/**
	 * @Description: 增加一条
	 * @Param: [attr]
	 * @Return: int
	 */
	int add(JmMaterialAttributeVo attrVo);

	/**
	 * @Description: 更新一条
	 * @Param: [attr]
	 * @Return: int
	 */
	int update(String sttrValuesString, String attrId, String updateBy);

	/**
	 * @Description: 根据id删除一条
	 * @Param: [attrId]
	 * @Return: int
	 */
	int deleteByIds(String[] attrIds, String updateBy);

	/**
	 * @Description: 根据id设置启动状态
	 * @Param: [attrId, attrStatus]
	 * @Return: int
	 */
	int setStatus(Integer attrId, Integer attrStatus, String updateBy);

	/**
	 * @Description: 分页+条件查询
	 * @Param: [materialAttributeVo]
	 * @Return: java.lang.String
	 */
	PageInfo<JmMaterialAttributeResp> findPage(JmMaterialAttributeVo materialAttributeVo);

	/**
	 * @Description: Excel批量上传查询时,判断是否有重名属性.
	 * @Param: [attributeVoList]
	 * @Return: java.util.ArrayList<java.lang.String>
	 */
	ArrayList<String> findSamedAttrName(ArrayList<JmMaterialAttributeVo> attributeVoList);

	/**
	 * @Description: 查询所有供excel导出使用
	 * @Param: []
	 * @Return: java.util.List<com.jumi.microservice.material.domain.JmMaterialAttributeResp>
	 */
	List<JmMaterialAttributeResp> findAll();
}
